#ifndef __WIZ_BASE_TYPE_COUNT_HPP__SHANHAOBO_19800429__
#define __WIZ_BASE_TYPE_COUNT_HPP__SHANHAOBO_19800429__

#include "../Core/WizBaseCoreTypeInt.hpp"

namespace Wiz
{
    namespace Count
    {
        WIZ_DECLARE(::Wiz::Int::Type);
        static ::Wiz::Count::TypeConst Invalid      = ::Wiz::Int::Min;
        static ::Wiz::Count::TypeConst Min          = 0;
        static ::Wiz::Count::TypeConst Max          = ::Wiz::Int::Max;
    } /// end of namespace Count
    namespace UCount
    {
        WIZ_DECLARE(::Wiz::UInt::Type);
        static ::Wiz::UCount::TypeConst Invalid     = ::Wiz::UInt::Max;
        static ::Wiz::UCount::TypeConst Min         = 0;
        static ::Wiz::UCount::TypeConst Max         = ::Wiz::UInt::Max;
    } /// end of namespace UCount
    //////////////////////////////////////////////////////////////////////////
    namespace Count8
    {
        WIZ_DECLARE(::Wiz::Int8::Type);
        static ::Wiz::Count8::TypeConst Invalid     = ::Wiz::Int8::Min;
        static ::Wiz::Count8::TypeConst Min         = 0;
        static ::Wiz::Count8::TypeConst Max         = ::Wiz::Int8::Max;
    } /// end of namespace Count8
    namespace Count16
    {
        WIZ_DECLARE(::Wiz::Int16::Type);
        static ::Wiz::Count16::TypeConst Invalid    = ::Wiz::Int16::Min;
        static ::Wiz::Count16::TypeConst Min        = 0;
        static ::Wiz::Count16::TypeConst Max        = ::Wiz::Int16::Max;
    } /// end of namespace Count16
    namespace Count32
    {
        WIZ_DECLARE(::Wiz::Int32::Type);
        static ::Wiz::Count32::TypeConst Invalid    = ::Wiz::Int32::Min;
        static ::Wiz::Count32::TypeConst Min        = 0;
        static ::Wiz::Count32::TypeConst Max        = ::Wiz::Int32::Max;
    } /// end of namespace Count32
    namespace Count64
    {
        WIZ_DECLARE(::Wiz::Int64::Type);
        static ::Wiz::Count64::TypeConst Invalid    = ::Wiz::Int64::Min;
        static ::Wiz::Count64::TypeConst Min        = 0;
        static ::Wiz::Count64::TypeConst Max        = ::Wiz::Int64::Max;
    } /// end of namespace Count64
    //////////////////////////////////////////////////////////////////////////
    namespace UCount8
    {
        WIZ_DECLARE(::Wiz::UInt8::Type);
        static ::Wiz::UCount8::TypeConst Invalid    = ::Wiz::UInt8::Max;
        static ::Wiz::UCount8::TypeConst Min        = 0;
        static ::Wiz::UCount8::TypeConst Max        = ::Wiz::UInt8::Max;
    } /// end of namespace Count8
    namespace UCount16
    {
        WIZ_DECLARE(::Wiz::UInt16::Type);
        static ::Wiz::UCount16::TypeConst Invalid   = ::Wiz::UInt16::Max;
        static ::Wiz::UCount16::TypeConst Min       = 0;
        static ::Wiz::UCount16::TypeConst Max       = ::Wiz::UInt16::Max;
    } /// end of namespace Count16
    namespace UCount32
    {
        WIZ_DECLARE(::Wiz::UInt32::Type);
        static ::Wiz::UCount32::TypeConst Invalid   = ::Wiz::UInt32::Max;
        static ::Wiz::UCount32::TypeConst Min       = 0;
        static ::Wiz::UCount32::TypeConst Max       = ::Wiz::UInt32::Max;
    } /// end of namespace Count32
    namespace UCount64
    {
        WIZ_DECLARE(::Wiz::UInt64::Type);
        static ::Wiz::UCount64::TypeConst Invalid   = ::Wiz::UInt64::Max;
        static ::Wiz::UCount64::TypeConst Min       = 0;
        static ::Wiz::UCount64::TypeConst Max       = ::Wiz::UInt64::Max;
    } /// end of namespace UCount64
} /// end of namespace Wiz

#endif /*__WIZ_BASE_TYPE_COUNT_HPP__SHANHAOBO_19800429__*/
